HTTP prefetching typically involves pre-requesting content on behalf of a client or browser before any request for that content is actually generated. When content is prefetched it may become possible to satisfy the request for that content locally (with regard to the client or browser), thereby negating the need to transmit the request and wait for the response. For example, in cases where there exists high latency between the client generating the request and the server which responds with the context requested, each negated request/response may avoid the penalty for such latency, thereby potentially reducing the total time required to satisfy the entire series of requests for the client. This may result in an accelerated end user experience.
An ideal goal of a prefetcher may be to prefetch all objects relating to a particular requested webpage. For example, when a user requests a web page, the prefetcher may request (e.g., as a proxy for the user) various objects embedded in the webpage in anticipation of those objects being ultimately requested. In certain cases, a prefetcher may miss objects that are embedded in a web page, and it may be difficult to determine which objects associated with a web page will ultimately be requested, or how an object seen at a proxy server relates to other objects. Such circumstances may result in slower performance and increased wait time for a user while a system fetches an object that was missed by a prefetcher.